#pragma once

#include "glare.core.Prerequisites.h"
#include "glare.core.PlatformWindow.h"

#include <egl/eglplatform.h>

namespace Glare {

	class AndroidWindowConstructionParams : public PlatformWindow::ConstructionParams
	{
	public : ANativeWindow* NativeWindow;
	};

	class AndroidWindow : public PlatformWindow
	{
	public : AndroidWindow(const uint& width, const uint& height, ConstructionParams* params);
	public : virtual ~AndroidWindow();

	public : virtual const PlatformWindowType GetWindowType() const;

	public : virtual const uint GetCanvasWidth(const RenderWindow* render_window) const;
	public : virtual const uint GetCanvasHeight(const RenderWindow* render_window) const;

	public : ANativeWindow* GetNativeWindow() const;

	private : AndroidWindowConstructionParams* _construction_params;
	};

}
